Requirements for fault tolerance and high performance are becoming more common. Counter rotating ring topology connecting a series of switches or port ASICs provides an elegant method for achieving fault tolerance. It is highly desirable to use both rings for data transmission. This can potentially double the bandwidth or reduce the cost by half for a given bandwidth.
However, problems, such as assuring data is received at a target port ASIC in the order it is transmitted and balancing the load on both rings, arise when both rings are used to exchange data.
One way to solve these problems is to use one of the rings for the packet data transmission and the other for control information as in FDDI-2. However, this does not fully utilize the bandwidth of both the rings.
Alternatively, as in an Ether Channel implementation, a hash based on the contents of the packet may be used to select the ring the packet will be transmitted on. This will probabilistically distribute the traffic. This method will also require an additional set of queues for the counter rotating ring.
It is also possible to use one token that will control access to both the rings. This has potential ordering problems and it also requires the sender to have enough bandwidth to source data on both rings at the same time.